home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / DCLAP 6d / dclap6d / vibrant / vibrant.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-05  |  5.4 KB  |  141 lines  |  [TEXT/R*ch]

  1. /*   vibrant.h
  2. * ===========================================================================
  3. *
  4. *                            PUBLIC DOMAIN NOTICE
  5. *            National Center for Biotechnology Information (NCBI)
  6. *
  7. *  This software/database is a "United States Government Work" under the
  8. *  terms of the United States Copyright Act.  It was written as part of
  9. *  the author's official duties as a United States Government employee and
  10. *  thus cannot be copyrighted.  This software/database is freely available
  11. *  to the public for use. The National Library of Medicine and the U.S.
  12. *  Government do not place any restriction on its use or reproduction.
  13. *  We would, however, appreciate having the NCBI and the author cited in
  14. *  any work or product based on this material
  15. *
  16. *  Although all reasonable efforts have been taken to ensure the accuracy
  17. *  and reliability of the software and data, the NLM and the U.S.
  18. *  Government do not and cannot warrant the performance or results that
  19. *  may be obtained by using this software or data. The NLM and the U.S.
  20. *  Government disclaim all warranties, express or implied, including
  21. *  warranties of performance, merchantability or fitness for any particular
  22. *  purpose.
  23. *
  24. * ===========================================================================
  25. *
  26. * File Name:  vibrant.h
  27. *
  28. * Author:  Jonathan Kans
  29. *
  30. * Version Creation Date:   7/1/91
  31. *
  32. * $Revision: 2.1 $
  33. *
  34. * File Description: 
  35. *       This is the master include file for the Vibrant (TM) portable user
  36. *       interface.  It includes the Vibrant types, procedures, and defines,
  37. *       and is the only header that most applications need to include.  The
  38. *       first included file (vibtypes.h) includes ncbi.h.
  39. *
  40. * Modifications:  
  41. * --------------------------------------------------------------------------
  42. * Date     Name        Description of modification
  43. * -------  ----------  -----------------------------------------------------
  44. *
  45. *
  46. * ==========================================================================
  47. */
  48.  
  49. #ifndef _VIBRANT_
  50. #define _VIBRANT_
  51.  
  52. #ifdef __cplusplus
  53. extern "C" {
  54. #endif
  55.  
  56. /***  GENERAL INFORMATION  ***/
  57.  
  58. /*
  59. *  The NCBI portable user interface development library has been
  60. *  written to allow new algorithms created by our scientists to
  61. *  be quickly implemented and deployed to laboratory researchers
  62. *  as user-friendly computer programs.  These programs run on
  63. *  a variety of personal computers and graphics workstations that
  64. *  are found in many molecular biology laboratories.  Because we
  65. *  are a government agency, we will make the interface toolkit
  66. *  available to scientists and mathematicians outside our group who
  67. *  have similar needs, and to any interested commercial groups.
  68. */
  69.  
  70. /*
  71. *  A program creates the windows, menus, and other user-responsive
  72. *  graphical objects that it needs, attaches programmer-written
  73. *  "callback" functions to appropriate objects (such as push buttons
  74. *  or menu command items), and then calls ProcessEvents.  The object
  75. *  itself handles all of its generic behavior automatically, while
  76. *  the callback function is responsible for providing the specific
  77. *  action that the user has requested.  Callback functions may modify
  78. *  the appearance or behavior of other interface objects.  When the
  79. *  program is ready to quit, it should call QuitProgram.  The ultimate
  80. *  goal is to have identical application programs run properly on all
  81. *  of the supported platforms.
  82. */
  83.  
  84. /*
  85. *  A typical application program will need to include vibrant.h,
  86. *  which imports portable numerical and graphic object types,
  87. *  prototypes of the procedures for creating windows and their
  88. *  graphic objects, and  define statements that alleviate the need
  89. *  for Nlm_ prefixes in all procedures, types, and variables.  The
  90. *  Nlm_ prefix is used in order to avoid collisions with symbols
  91. *  defined by the various compilers and windowing systems under which
  92. *  the interface will run.  When we provide documentation for use of
  93. *  the interface, the definitions of procedures and types will not
  94. *  have the Nlm_ prefix, although the .h and .c files will always
  95. *  need them.  Similarly, object handle names end in a capital letter
  96. *  (e.g., ButtoN, WindoW), in order to lessen the chance of collision
  97. *  with operating system or application program symbols.
  98. */
  99.  
  100. /*
  101. *  A SlatE object provides a generic drawing environment on all
  102. *  platforms.  Each slate can contain several PaneL objects.  Each
  103. *  panel object is given instance callback procedures for drawing,
  104. *  responding to the initial mouse click, mouse drags, repeated
  105. *  holding of the mouse button, and release of the mouse button.
  106. *  The programmer can build new classes of objects for complicated
  107. *  displays based on panel objects.
  108. */
  109.  
  110. /*
  111. *  The platform is a four-dimensional specification of compiler,
  112. *  operating system, processor, and windowing system flags for
  113. *  conditional compilation of the NCBI User Interface Toolkit.
  114. *  These (partially) independent dimensions allow us to write
  115. *  one interface package that will run on the Macintosh under
  116. *  THINK C and MPW C, on the IBM PC under Microsoft C and
  117. *  Microsoft Windows, and on BSD and System V Unix machines
  118. *  running the X Window or OSF/Motif windowing systems.
  119. */
  120.  
  121. /*
  122. *  Familiarity with the NCBI core tools, and the platform concept,
  123. *  are assumed.
  124. */
  125.  
  126. #ifndef _VIBTYPES_
  127. #include <vibtypes.h>
  128. #endif
  129. #ifndef _VIBPROCS_
  130. #include <vibprocs.h>
  131. #endif
  132. #ifndef _VIBDEFNS_
  133. #include <vibdefns.h>
  134. #endif
  135.  
  136. #ifdef __cplusplus
  137. }
  138. #endif
  139.  
  140. #endif
  141.